Extended Validation Layer
Despite that the animation system heavily depends on name relations between components (bone names, animation parameter names, state machine state names, etc), string
values are used only in bake time. Bake systems convert all string
values into Hash128
representations and work with them in runtime. No string data is available during state machines and animation processing. This approach is very performant but debugging and validation in case of issues become very complicated.
To make the easier process of watching for state and parameter changing, debugging, and detailed logging of baking processes, Rukhanka introduces a special extended validation
mode. This mode can be enabled by adding the RUKHANKA_DEBUG_INFO
script definition symbol into project preferences:
Adding this symbol, Rukhanka will add to all internal structures its corresponding string fields (FixedString or BlobString for Burst
compatibility where appropriate). Watching these members in the debugger and logging makes it much easier to investigate and fix problems in animations
Logging capabilities
By defining RUKHANKA_DEBUG_INFO
extended logging and visualization capabilities have also become available. To configure them add the Rukhanka Debug Configuration
authoring component to any GameObject
inside Entities Subscene
.
If RUKHANKA_DEBUG_INFO
is not defined this configuration script will show a warning message and no configuration options will be available:
- Animation Process System_ logging will enable the log of animation core internal details during runtime.
- Bone Visualization enables internal bone renderer for all Rukhanka
Rigs
.
Bone Visualization
There are two options to enable Bone Visualization capability for Rukhanka Rig
:
- Enable bone visualization for all meshes in the scene. This is done by the checkbox described in the previous section on this page.
- Add the
Bone Visualization Authoring
component to the required animated object.
Bone rendering functionality is completely stripped out without RUKHANKA_DEBUG_INFO
defined.